Software code provides commands to a computer system, causing the computer system to perform actions, such as performing a computation, printing a data value to a screen, or saving a user entered value to a disk. In an ideal environment, computer programs and applications, comprising of collections of lines of software code, perform beneficial operations for a user, such as performing complex computations, quickly performing repetitive tasks, or entertaining the user (e.g., via a game). Unfortunately, software code can also be damaging to a system, resulting in a loss of data, unauthorized access to data, or harm to hardware of a system running the software code. Such damaging code can be intentionally malicious (e.g., viruses, worms, Trojan horses, etc.). Harmful code can also be introduced to a system in more benign ways, such as part of software code development. For example, bugs or errors can be unintentionally included in software code and run on a system by mistake, without any ill intent. However, the damage to a system can be just as significant as that imparted by malicious code.